/*  ----------------------------------------------------------------------------
 *  Arello Mobile
 *  Fast 3d Engine
 *  ----------------------------------------------------------------------------
 * Except where otherwise noted, this work is licensed under
 * http://creativecommons.org/licenses/by/3.0
 */
#pragma once

#include <xml/Object.h>
#include <WowPtr.h>
#include <properties/PropertyContainer.h>
#include "Node.h"
#include "AtomPath.h"

namespace liba {
namespace animate {

class PrimitiveAnimationBase : public xml::ObjectANSI
{
protected:
	WowPtr<properties::PropertyContainer> target;
	Atom param_name;
	AtomPath target_path;
	
	PrimitiveAnimationBase()
		: target( 0 )
	{}

	virtual bool on_attribute(xml::Provider * prov, const std::string & name, const std::string & value );
public:
	bool bind(Node * animation_root, bool recursion );
};

} // namespace animate
} // namespace liba
using namespace liba;

